In [ ]:
import os
import pandas as pd
In [ ]:
try:
os.makedirs(os.path.join("data", "tutorial"))
print("Pasta criada.")
except OSError:
print("Pasta já existe!")
In [ ]:
""" nome do arquivo """
file_name = os.path.join("data", "tutorial", "orders.csv")
In [ ]:
""" criação do DataFrame """
df = pd.DataFrame(
columns=["user_id", "store_id", "product_id"],
data=[
[1, 1, 1],
[1, 2, 6],
[3, 2, 7],
[2, 2, 3],
[3, 2, 3],
[4, 3, 2],
[2, 3, 1],
[1, 1, 3],
[1, 3, 3],
[5, 1, 4],
[5, 1, 1],
[3, 2, 1],
[1, 2, 1],
[2, 2, 2],
[3, 2, 2],
[4, 2, 3],
[4, 1, 5],
[5, 1, 6],
[3, 1, 6],
[2, 3, 7],
]
)
df
In [ ]:
""" salvando o DataFrame """
df.to_csv(file_name, sep=",")
In [ ]:
""" nome do arquivo """
file_name = os.path.join("data", "tutorial", "stores.csv")
In [ ]:
""" criação do DataFrame """
df = pd.DataFrame(
columns=["store_id", "store_name"],
data=[
[1, "Pão de Açúcar"],
[2, "Dia"],
[3, "Extra"],
]
).set_index("store_id")
df
In [ ]:
""" salvando o DataFrame """
df.to_csv(
file_name, # nome do arquivo
sep="\t", # separador TAB
encoding="utf-8" # encoding: garante formato correto de strings no arquivo
)
In [ ]:
""" nome do arquivo """
file_name = os.path.join("data", "tutorial", "products.csv")
In [ ]:
""" criação do DataFrame """
df = pd.DataFrame(
columns=["product_id", "product_name"],
data=[
[1, "Leite"],
[2, "Ovos"],
[3, "Arroz"],
[4, "Feijão"],
[5, "Carne"],
[6, "Frango"],
[7, "Peixe"]
]
).set_index("product_id") # set_index: usa a coluna especificada como índice
df
In [ ]:
""" salvando o DataFrame """
df.to_csv(
file_name, # nome do arquivo
sep=";", # separador ;
encoding="utf-8" # encoding: garante formato correto de strings no arquivo
)
In [ ]:
file_name = os.path.join("data", "tutorial", "orders.csv")
In [ ]:
pd.read_csv(file_name)
In [ ]:
""" definindo index_col para a primeira coluna """
pd.read_csv(file_name, index_col=0)
In [ ]:
""" definindo index_col para a segunda coluna """
pd.read_csv(file_name, index_col=1)
In [ ]:
""" Modificando o parâmetro sep"""
pd.read_csv(file_name, sep=";")
In [ ]:
""" Usando explicitamente o valor default de sep """
pd.read_csv(file_name, sep=",")
In [ ]:
""" Usando header = None """
pd.read_csv(file_name, header=None)
In [ ]:
""" Usando outra linha como header; nota-se que as linhas acima são eliminadas """
pd.read_csv(file_name, header=1)
In [ ]:
""" Usando múltiplass linhas como header """
pd.read_csv(file_name, header=[0,1,2])
In [ ]:
""" lendo apenas duas colunas """
pd.read_csv(file_name, usecols=["product_id", "store_id"])
In [ ]:
orders = pd.read_csv(
os.path.join("data", "tutorial", "orders.csv"),
sep=",",
index_col=0
)
In [ ]:
stores = pd.read_csv(
os.path.join("data", "tutorial", "stores.csv"),
sep="\t",
index_col=0,
encoding="utf-8"
)
In [ ]:
products = pd.read_csv(
os.path.join("data", "tutorial", "products.csv"),
sep=";",
index_col=0,
encoding="utf-8"
)
In [ ]:
""" novos dados de 'orders' """
new_orders = pd.DataFrame(
columns=["user_id", "store_id", "product_id"],
data=[
[1, 1, 1],
[2, 1, 2],
[3, 2, 1],
[2, 1, 3],
[1, 2, 1],
]
)
new_orders
In [ ]:
""" adicionando no 'orders' original """
temp_orders = orders.append(new_orders)
temp_orders
Observações:
In [ ]:
new_orders.append(
pd.DataFrame(
columns=list(new_orders.columns) + ["new_column"],
data=[
[1, 2, 1, 51],
[1, 2, 1, 15]
]
)
)
In [ ]:
new_stores = pd.DataFrame(
index=stores.index,
columns=["opens", "closes"],
data=[
["9:00", "22:00"],
["8:00", "18:00"],
["11:00", "21:00"],
]
)
new_stores
In [ ]:
""" concatenando estruturas compatíveis """
temp_stores = stores.join(new_stores)
temp_stores
Observações:
In [ ]:
""" modificando índices para exemplos """
new_stores.index = [3, 4, 5]
In [ ]:
""" concatenando estruturas com índices diferentes """
stores.join(new_stores)
In [ ]:
""" explicitando 'how=left' """
stores.join(new_stores, how="left")
In [ ]:
""" right join """
stores.join(new_stores, how="right")
In [ ]:
""" concatenando estruturas com índices diferentes """
stores.join(new_stores, how="outer")
In [ ]:
""" concatenando estruturas com índices diferentes """
stores.join(new_stores, how="inner")
In [ ]:
new_stores.join(new_stores, lsuffix="_original")
In [ ]:
new_stores.join(new_stores, rsuffix="_copycat")
In [ ]:
new_stores.join(new_stores, lsuffix="_original", rsuffix="_copycat")
In [ ]:
""" reset_index para liberar as variáveis para o merge """
stores = stores.reset_index()
products = products.reset_index()
In [ ]:
""" adicionando store_name"""
df = pd.merge(
left=orders,
right=stores,
on="store_id"
)
df
In [ ]:
""" adicionando product_name"""
df = pd.merge(
left=df,
right=products,
on="product_id"
)
df
In [ ]:
path = os.path.join("data", "desafio")
In [ ]:
input_file = {
"aisles": os.path.join(path, "aisles.csv"),
"departments": os.path.join(path, "departments.csv"),
"order_products": os.path.join(path, "order_products.csv"),
"orders": os.path.join(path, "orders.csv"),
"products": os.path.join(path, "products.csv")
}
In [ ]:
output_file = os.path.join(path, "dataset.csv")
Referência:
In [ ]:
""" Entre com o Código aqui """
In [ ]:
""" Entre com o Código aqui """
In [ ]:
""" Entre com o Código aqui """
In [ ]:
""" Entre com o Código aqui """
In [ ]:
""" Entre com o Código aqui """
In [ ]:
""" Entre com o Código aqui """
In [ ]:
dataset.head(7)
In [ ]:
dataset.tail(3)
In [ ]:
""" Entre com o Código aqui """